/*
 * RunState.h
 *
 *  Created on: 17/05/2011
 *      Author: Rafael
 */

#ifndef RUNSTATE_H_
#define RUNSTATE_H_

#include "core/State.h"
#include "entity/GameObject.h"
#include "entity/Physics.h"

class RunState : public State<GameObject>{
public:
	RunState();
	virtual ~RunState();

	void Enter(GameObject* owner);

	void Execute(GameObject* owner);

	void Exit(GameObject* owner);

	string toString();
	/*
	 * Other Methods
	 */
	bool tryWalk(GameObject* owner);
	bool tryRun(GameObject* owner);
	bool tryHitted(GameObject* owner);
	bool tryAttack(GameObject* owner);
	bool tryShoot(GameObject* owner);
	bool tryInteract(GameObject *owner);
	bool tryAction(GameObject *owner);
};

#endif /* RUNSTATE_H_ */
